// pages/user/user.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: '',
    hasUserInfo: false,
    height: 0,
    navBar: {},
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const that = this
    this.setData({
      navBar: app.globalData.navBar
    })
    // 设置屏幕可用高度
    this.setData({
      height: wx.getSystemInfoSync().windowHeight - that.data.navBar.navigationBarAndStatusBarHeight
    })
  },
  async login(){
    // // 判断用户是否已经登录，若已经登录，则调用getUserInfo获取用户最新数据，若未登录，则调用云函数实现登录/注册流程
    // const userId = wx.getStorageSync('userId')

    // if(userId){
    //   // 已登录
    //   this.getUserInfo()
    // }else{

    // }
    const { userInfo:{ avatarUrl , nickName } } = await wx.getUserProfile({
      desc: '用于完善用户信息',
    })
    let { result: { data } } = await wx.cloud.callFunction({
      name:'login',
      data:{
        avatarUrl,
        nickName
      }
    })
    // 将用户信息存入本地
    wx.setStorageSync('userId', data._id)

    // 修改状态
    this.setData({
      userInfo: data,
      hasUserInfo:true
    })
  },

  out(){
    this.setData({
      userInfo:'',
      hasUserInfo:false
    })
    wx.removeStorage({
      key: 'userId',
    })
  },


  // 获取用户最新信息以更新状态
  async getUserInfo(){
    const userId = wx.getStorageSync('userId')
    if(userId){
      let { result:{ newData:{ data } } } = await wx.cloud.callFunction({
        name:'getUserInfo',
        data:{
          userId
        }
      })
      this.setData({
        hasUserInfo:true,
        userInfo:data
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 在页面渲染的时候调用获取用户最新数据
    this.getUserInfo()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})